home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / util / moni / Scout-src.lha / source / scout_defs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-02-13  |  9.6 KB  |  217 lines

  1. /**
  2.  * Scout - The Amiga System Monitor
  3.  *
  4.  *------------------------------------------------------------------
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  *
  20.  * You must not use this source code to gain profit of any kind!
  21.  *
  22.  *------------------------------------------------------------------
  23.  *
  24.  * @author Andreas Gelhausen
  25.  * @author Richard Körber <rkoerber@gmx.de>
  26.  */
  27.  
  28.  
  29.  
  30. #ifndef SCOUT_DEFS_H
  31. #define SCOUT_DEFS_H
  32. #define WINDOW_PROBLEMS
  33.  
  34. /*************************************************************/
  35. /*                      Some prototypes                      */
  36. /*************************************************************/
  37.  
  38. void * __asm AsmAllocPooled(register __a0 void *,
  39.                             register __d0 ULONG,
  40.                             register __a6 struct ExecBase *);
  41.  
  42. void * __asm AsmCreatePool(register __d0 ULONG,
  43.                            register __d1 ULONG,
  44.                            register __d2 ULONG,
  45.                            register __a6 struct ExecBase *);
  46.  
  47. void __asm AsmDeletePool(register __a0 void *,
  48.                          register __a6 struct ExecBase *);
  49.  
  50. void __asm AsmFreePooled(register __a0 void *,
  51.                          register __a1 void *,
  52.                          register __d0 ULONG,
  53.                          register __a6 struct ExecBase *);
  54.  
  55. /*************************************************************/
  56. /*                  Compiler specific stuff                  */
  57. /*************************************************************/
  58.  
  59. #define REG(x) register __ ## x
  60. #define ASM    __asm
  61. #define SAVEDS __saveds
  62.  
  63. /*************************************************************/
  64. /*                      User definitions                     */
  65. /*************************************************************/
  66.  
  67. #define aprintf            Printf
  68. #define points2ram         TypeOfMem
  69.  
  70. #define FIRSTLIBRARY    ((struct Library *)  (SysBase->LibList.lh_Head))
  71. #define FIRSTDEVICE     ((struct Library *)  (SysBase->DeviceList.lh_Head))
  72. #define FIRSTRESOURCE   ((struct Library *)  (SysBase->ResourceList.lh_Head))
  73. #define FIRSTTASKWAIT   ((struct Task *)     (SysBase->TaskWait.lh_Head))
  74. #define FIRSTTASKREADY  ((struct Task *)     (SysBase->TaskReady.lh_Head))
  75. #define FIRSTPORT       ((struct MsgPort *)  (SysBase->PortList.lh_Head))
  76. #define FIRSTMEMORY     ((struct MemHeader *) (SysBase->MemList.lh_Head))
  77. #define FIRSTINTERRUPT  ((struct Interrupt *) (SysBase->IntrList.lh_Head))
  78. #define FIRSTSEMAPHORE  ((struct SignalSemaphore *) (SysBase->SemaphoreList.lh_Head))
  79. #define FIRSTRESIDENT   ((struct Resident *) (SysBase->ResModules))
  80. #define FIRSTSCREEN     ((struct Screen *)   (((struct IntuitionBase *)IntuitionBase)->FirstScreen))
  81. #define FIRSTFONT       ((struct TextFont *) (((struct GfxBase *) GfxBase)->TextFonts.lh_Head))
  82.  
  83. #define DEVINFO         ((struct DosInfo *)  ((((struct DosLibrary *)DOSBase)->dl_Root->rn_Info)<<2))
  84. #define DOSLIST         ((struct DosList *)  ((DEVINFO->di_DevInfo)<<2))
  85. #define FIRSTLOCK       ((struct FileLock *) ((DEVLIST->dl_Lock)<<2))
  86.  
  87. #define ESC                "\033"
  88. #define ULON               ESC "[4m"
  89. #define ULOFF              ESC "[24m"
  90. #define HELL               ESC "3"
  91. #define DUNKEL             ESC "0"
  92. #define FILENAMELENGTH     256
  93. #define PRIORITYLENGTH     8
  94. #define VERSIONLENGTH      16
  95. #define ADDRESSLENGTH      10
  96. #define PATHLENGTH         80
  97. #define PATHLENGTHCHAR     "80"
  98. #define NODENAMELENGTH     60
  99. #define TEXTLENGTH         100
  100. #define TEXTLENGTHCHAR     "100"
  101. #define MAXTEXTLENGTH      256
  102. #define CTRLC              0x1000
  103. #define LOCKSUPDATERATE    11
  104. #define NODETYPELEN        13+1
  105. #define TASKSTATELEN       7+1
  106. #define TS_FROZEN          0xff
  107.  
  108. #define MakeID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  109.  
  110. /*********************************************************************
  111.    Definitionen für den Parameter 'sl_jobs' der ScanLocks-Routine!
  112. *********************************************************************/
  113. #define SL_REMOVE    1
  114. #define SL_LIST      2
  115. #define SL_COUNT     3
  116.  
  117. /*********************************************************************
  118.  Definitionen für den Parameter 'si_jobs' der GetInterrupts-Routine!
  119. *********************************************************************/
  120. #define SI_REMOVE    1
  121. #define SI_LIST      2
  122. #define SI_FIND      3
  123.  
  124. /*********************************************************************
  125.                         Definitionen für MUI
  126. *********************************************************************/
  127. #define List(ftxt)   ListviewObject,MUIA_Weight,50,MUIA_Listview_Input,\
  128.             FALSE,MUIA_Listview_List,FloattextObject,MUIA_Frame,\
  129.             MUIV_Frame_ReadList, MUIA_Floattext_Text, ftxt,\
  130.             MUIA_Floattext_TabSize, 4, MUIA_Floattext_Justify,\
  131.             TRUE, End, End
  132.  
  133. #define ImageLine(name,nr) HGroup,Child,TextObject,MUIA_Text_Contents,\
  134.             "\33r"name,MUIA_FixWidthTxt,"RadioButton:",End,Child,VGroup,\
  135.             Child,VSpace(0),Child,ImageObject,MUIA_Image_Spec,nr,End,\
  136.             Child,VSpace(0),End,End
  137.  
  138. #define ScaledImage(nr,s,x,y) ImageObject,MUIA_Image_Spec,nr,MUIA_FixWidth,\
  139.             x,MUIA_FixHeight,y,MUIA_Image_FreeHoriz,TRUE,MUIA_Image_FreeVert,\
  140.             TRUE,MUIA_Image_State,s,End
  141.  
  142. #define HProp  PropObject,PropFrame,MUIA_Prop_Horiz,TRUE,MUIA_FixHeight,8,\
  143.             MUIA_Prop_Entries,111,MUIA_Prop_Visible,10,End
  144.  
  145. #define VProp  PropObject,PropFrame,MUIA_Prop_Horiz,FALSE,MUIA_FixWidth,8,\
  146.             MUIA_Prop_Entries,111,MUIA_Prop_Visible,10,End
  147.  
  148. #define MyTextFrame TextFrame,MUIA_Background,MUII_TextBack
  149.  
  150. #define LabelA(label)   TextObject,MUIA_Text_PreParse,"\33r",\
  151.             MUIA_Text_Contents,label,TextFrame,MUIA_FramePhantomHoriz,\
  152.             TRUE,End
  153.  
  154. #define LabelB(label)   TextObject,MUIA_Text_PreParse,"\33r",\
  155.             MUIA_Text_Contents,label,TextFrame,MUIA_FramePhantomHoriz,\
  156.             TRUE,MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0,End
  157.  
  158. enum ids {
  159.    ID_FIRSTID=0,ID_LIBRARIES,ID_DEVICES,ID_RESOURCES,ID_TASKS,ID_LOCKS,ID_PORTS,ID_COMMANDS,
  160.    ID_MEMORY,ID_INTERRUPTS,ID_SEMAPHORES,ID_INPUTHANDLER,ID_RESIDENTS,ID_WINDOWS,
  161.    ID_EXPANSIONS,ID_ASSIGNS,ID_FONTS,ID_VECTORS,ID_COMMODITIES,ID_SYSTEM,ID_LOWMEMORY,
  162.    ID_MOUNT,ID_SCREENMODE,ID_ALLOCATIONS,ID_TIMER,ID_CLASSES,
  163.  
  164.    ID_LIBUPDATE,ID_LIBPRINT,ID_LIBREMOVE,ID_LIBCLOSE,ID_LIBPRIORITY,ID_LIBMORE,ID_LIBEXIT,ID_LIBLV_ACTIVE,ID_LIBFUNCTIONS,
  165.    ID_DEVUPDATE,ID_DEVPRINT,ID_DEVREMOVE,ID_DEVPRIORITY,ID_DEVMORE,ID_DEVEXIT,ID_DEVLV_ACTIVE,ID_DEVFUNCTIONS,
  166.    ID_RESUPDATE,ID_RESPRINT,ID_RESREMOVE,ID_RESPRIORITY,ID_RESMORE,ID_RESEXIT,ID_RESLV_ACTIVE,ID_RESFUNCTIONS,
  167.    ID_TASKPRINT,ID_TASKREMOVE,ID_TASKFREEZE,ID_TASKACTIVATE,ID_TASKPRIORITY,ID_TASKUPDATE,ID_TASKSIGNAL,ID_TASKBREAK,ID_TASKMORE,ID_TASKEXIT,ID_TASKLV_ACTIVE,
  168.    ID_LOCKUPDATE,ID_LOCKPRINT,ID_LOCKREMOVE,ID_LOCKEXIT,ID_LOCKLV_ACTIVE,
  169.    ID_PORTUPDATE,ID_PORTPRINT,ID_PORTREMOVE,ID_PORTPRIORITY,ID_PORTMORE,ID_PORTEXIT,ID_PORTLV_ACTIVE,
  170.    ID_MEMPRINT,ID_MEMPRIORITY,ID_MEMMORE,ID_MEMEXIT,ID_MEMLV_ACTIVE,
  171.    ID_INTUPDATE,ID_INTPRINT,ID_INTREMOVE,ID_INTMORE,ID_INTEXIT,ID_INTLV_ACTIVE,
  172.    ID_SEMUPDATE,ID_SEMPRINT,ID_SEMOBTAIN,ID_SEMRELEASE,ID_SEMREMOVE,ID_SEMEXIT,ID_SEMLV_ACTIVE,
  173.    ID_INPUTUPDATE,ID_INPUTPRINT,ID_INPUTREMOVE,ID_INPUTPRIORITY,ID_INPUTEXIT,ID_INPUTLV_ACTIVE,
  174.    ID_RESIUPDATE,ID_RESIPRINT,ID_RESIMORE,ID_RESIEXIT,ID_RESILV_ACTIVE,
  175.    ID_WINUPDATE,ID_WINPRINT,ID_WINCLOSE,ID_WINTOFRONT,ID_WINMORE,ID_WINEXIT,ID_WINLV_ACTIVE,
  176.    ID_EXPPRINT,ID_EXPMORE,ID_EXPEXIT,ID_EXPLV_ACTIVE,
  177.    ID_ASSUPDATE,ID_ASSPRINT,ID_ASSREMOVE,ID_ASSEXIT,ID_ASSLV_ACTIVE,
  178.    ID_FONTUPDATE,ID_FONTPRINT,ID_FONTCLOSE,ID_FONTREMOVE,ID_FONTEXIT,ID_FONTLV_ACTIVE,
  179.    ID_VECUPDATE,ID_VECPRINT,ID_VECEXIT,
  180.    ID_SYSPRINT,ID_SYSEXIT,ID_SYSUPDATE,
  181.    ID_LOWMEMORYUPDATE,ID_LOWMEMORYPRINT,ID_LOWMEMORYREMOVE,ID_LOWMEMORYCAUSE,ID_LOWMEMORYPRIORITY,ID_LOWMEMORYEXIT,ID_LOWMEMORYLV_ACTIVE,
  182.    ID_TIMERUPDATE,ID_TIMERPRINT,ID_TIMERREMOVE,ID_TIMERPRIORITY,ID_TIMEREXIT,ID_TIMERLV_ACTIVE,
  183.    ID_CXPRINT,ID_CXREMOVE,ID_CXPRIORITY,ID_CXUPDATE,ID_CXMORE,ID_CXEXIT,ID_CXLV_ACTIVE,ID_CXAPPEAR,ID_CXDISAPPEAR,ID_CXENABLE,ID_CXDISABLE,ID_CXKILL,ID_CXLISTCHG,ID_CXUNIQUE,ID_CXSORT,
  184.    ID_CLASSPRINT,ID_CLASSREMOVE,ID_CLASSUPDATE,ID_CLASSMORE,ID_CLASSEXIT,ID_CLASSLV_ACTIVE,ID_CLASSSORT,
  185.    ID_SMODEPRINT,ID_SMODEUPDATE,ID_SMODEMORE,ID_SMODEEXIT,ID_SMODESORT,ID_SMODELV_ACTIVE,
  186.    ID_ALCPRINT,ID_ALCUPDATE,ID_ALCEXIT,
  187.  
  188.    ID_MOUNTUPDATE,ID_MOUNTPRINT,ID_MOUNTMORE,ID_MOUNTEXIT,ID_MOUNTLV_ACTIVE,
  189.    ID_COMPRINT,ID_COMUPDATE,ID_COMREMOVE,ID_COMEXIT,ID_COMLV_ACTIVE,
  190.    ID_REMOVEWINFREE,
  191.  
  192.    ID_ABOUT,ID_ABOUTCONTINUE,ID_LOAD,ID_SAVE,
  193.    ID_PRIORITYOK,ID_PRIORITYEXIT,
  194.    ID_SIGNALOK,ID_SIGNALEXIT,
  195.    ID_FLUSHALL,ID_FLUSHDEVS,ID_FLUSHFONTS,ID_FLUSHLIBS,
  196.    ID_CPUUSAGE,ID_CLEARRESET,
  197.  
  198.    ID_DOUBLESTART,
  199.         ID_LIBSORT,ID_DEVSORT,ID_RESSORT,ID_TASKSORT,ID_PORTSORT,ID_COMSORT,
  200.    ID_EXPSORT,ID_MEMSORT,ID_RESISORT,ID_ASSSORT,ID_LOCKSORT,ID_MOUNTSORT,
  201.    ID_INPUTSORT,ID_INTSORT,ID_FONTSORT,ID_SEMSORT,
  202.  
  203.    ID_FLAGWINDOW,
  204.  
  205.    ID_LASTID
  206. };
  207.  
  208. struct WinFree {
  209.    APTR wf_Window; 
  210.    APTR wf_ActiveObject;
  211.    APTR wf_Pool;
  212.    struct WinFree *wf_Next;
  213.    struct WinFree *wf_Previous;
  214. };
  215.  
  216. #endif /* SCOUT_DEFS_H */
  217.